<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class LoginController extends Controller
{

    public function __construct()
    {

    }

    public function index(){
        //如果用户登录了就不能再次进入登录页面
        if(auth()->check()){
            return redirect(route('admin.index'));
        }
        return view('admin.login.login');
    }

    public function login(Request $request){
        $post = $this->validate($request,[
            'username' => 'required',
            'password' => 'required'
        ],[
            'username.required' => '账号都不写,想飞?',
            'password.required' => '密码都没有,想干嘛?'
        ]);
        //登录 [attempt验证输入的数据跟数据库是否匹配]
        $bool = auth()->guard('web')->attempt($post);
        if($bool){
            //如果匹配  代表登录成功了
//            $model = auth()->user();
//            dump($model->toArray());
            return redirect(route('admin.index'));
        }else{
            //widthErrors 把信息写入到验证错误的提示里面，特殊的session  laravel 把这个称作闪存
            //闪存 从设置好之后，只能在第一个http请求中获取数据，以后就没有了
            return redirect(route('admin.login'))->withErrors(['error'=>'登录失败']);
        }
    }

    public function logout(Request $request){
        auth()->logout();
        $request->session()->invalidate();
        return redirect(route('admin.login'))->with('success','请重新登录');
    }



}

